home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-02-06 | 47.7 KB | 1,097 lines |
- Amiga Texturemapped Games FAQ V 0.25
-
- Table of contents
-
- I. Introduction
-
- 1. What is Texturemapping ?
- 2. What are the problems of Texturemapping on the Amiga ?
- 3. How can they be solved ?
-
- II. Short reviews of all demos/games known to me
-
- 1. Demos
- 2. Game-Demos
- 3. Games
-
- III. Rumours and other infos department
-
- IV. Doing texturemapping with emulators
-
- 1. Hardware-Emulators
- 2. Software-Emulators
-
- V. Algorithms
-
- 1. Terence Russells algorithms used in Wolf3D-2.lha
-
- VI. The Amiga Texturemapping online conference
-
- 1. The invitation
- 2. Some hints for people who do not use IRC often
-
- VII. What can YOU do to support this FAQ ?
-
- I. Introduction
-
- 1. What is Texturemapping ?
-
- Texturemapping is a method of wrapping bitmapgraphics around
- vectors or 3D based graphics in common. For games, texturemapping
- is mostly used doing very realistic Dungeons.
-
- In contrary to a dungeon like in Dungeonmaster or Eye of the Beholder,
- the player is not limited to some few directions, but he can turn
- around in TRUE 360 degrees, like in real life. Often the graphics
- is more realistic than the graphics of such block graphics games
- and especially the opponents of the player are done very well
- (using texturemapping and vector graphics ...)
-
- Texturemapping is used for role playing games and for dungeon action
- games (some of them able to handle more than one player at the same time).
- The most famous such games are Castle Wolfenstein and DOOM. Castle
- Wolfenstein is for PC and Mac, DOOM is for PC (and soon for Mac too).
- There are probably more texturemapping action games than texturemapping
- role playing games.
-
- The original creators of DOOM did no port to the Amiga and won't do
- so in the future. All the talk about "Amiga DOOM" is to do a similar
- game on Amiga, not the original DOOM. Most people speak of "Wolfenstein
- style" and "DOOM style" graphics engines to describe how GOOD the used
- texturemapping in a game is. DOOM engines are superior to Wolfenstein
- engines.
-
- 2. What are the problems of Texturemapping on the Amiga ?
-
- Texturemapping needs to put single pixels to a screen, not only LINES
- like in vector graphics. So you need both a fast CPU and a fast graphics
- for doing texture mapping.
-
- On PC (and on Mac) the color of each pixel is described by ONE BYTE...
- this is the so-called CHUNKY PIXEL MODE. On Amiga, the color of each pixel
- is described by EIGHT BYTES (for 256 colors). This is the so-called
- BITPLANE GRAPHICS. Easy to understand, Chunky pixel is better for
- texturemapping than bitplane graphics, as bitplane graphics only
- has 12.5% of the speed of chunky graphics. Of course, if you take less
- thean 256 colors the speed is better, and i was told, in this way you even
- may get a better speed than doing chunky graphics.
-
- Second thing, even if the 68040 is very fast, not everybody has got such
- a thing(i have :)))) ). But on PC most gamers have got a 80486 (Which
- probably is slower than the '040, but much faster than the '020). It is
- probably not possible doing texturemapping with an 68000. In addition,
- texturemapping should have 64 colors AT LEAST (maybe extra halfbrite
- on ECS ...)
-
- Third, a lot of companies let the Amiga alone (Boooooh... :((( ), and in
- special they did not want to risk coding something DIFFICULT on Amiga.
- And some coders simply are moronic DOS-lovers (greetings to ID Software
- (they did DOOM) and to Richard Garriot of Origin at this place... i hope
- they $"&$/&$"/$"/& (censored) !!!)
-
- 3. How can they be solved ?
-
- A) Copper Chunky Modes
-
- I told you before, that the Amiga is not capable of doing chunky modes.
- That is not 100% the truth. There is a type of copper cheat (the copper
- is one of the Amiga's graphics coprocessors), that in fact DOES chunky
- modes. The problem with this graphics mode is, it can only handle a
- resolution about 100x100 to 130x120 pixels (i do not know exactly, as i
- am no specialist in coding texturemapping ...) Compared to PC Games with
- 320x200 texturemapping this may look ugly ... (but it should be mentioned,
- games on PCs (at least on PCs that are not these absolute high-powered
- ones...) often do not use full screen graphics, and so often too use such
- resolutions. Copper chunky can't do 1x1 or 2x1 pixel resolution or
- something like that (i do not know exactly what are the limits for that
- Copper tricks... maybe an expert inc coding such things could tell me ?)
-
- B) Chunky to Planar Conversion Routines
-
- A Chunky to Planar Conversion Routine is a part of a texturemapping code,
- that takes graphics in chunky (one Byte per pixel) as input, and puts it
- as Bitplane Graphics on the Screen. Of course, this method needs much
- CPU-power. For most demos/games, you should have at least a '030 to get
- it smooth... and a lot of demos using this technique do not have FULL
- texturemapping... that is, they for example have no stairs, and everything
- on screen is on the same height level. Copper Chunky does this better, but
- has a low resolution... of course a '040 with a Conversion Routine can
- do fine things...
-
- C) Using a graphics board
-
- Graphics boards for the Amiga do not use Bitplane graphics, but, in fact,
- Chunky graphics. The problem is, not many people have such boards in their
- systems, in difference to the PC, where all graphics is based on such
- boards. But some coders said, they maybe will do an additional "graphics
- board version", that features the fast graphics chips with their chunky
- graphics... there is even a texturemapping demo running on EGS (EGS is
- a standard for Amiga graphics boards).
-
- D) Demo-Groups do the Games
-
- As those people who can do texturemapping best (on PC) often are
- DOS-lovers, on Amiga a lot of people of the demo-scene and others, who
- are not employed at software firms, began to code... and as software firms
- want to SELL, they will probably sell the finished products, even if they
- are Amiga-only... And of course there are firms DEDICATED to the Amiga,
- like Team17 ... they are in this texturemapping business, too ...
-
- II. Short reviews of all demos/games known to me
-
- The short reviews are done in a specific format, mentioning Name, Author
- Name (or name of one of the authors), Minimum System, Recommended System,
- Engine style, How smooth the scrolling is and how good the pixelresolution
- is. Then they are followed by a short description of the demo (of course i
- could say more of the most, but there are a lot of demos reviewed...) Then
- i list the E-Mail of the author (if available) and where on Aminet sites to
- find the demo (if possible). I recommend using ftp.uni-paderborn.de or
- src.doc.ic.ac.uk or another site with complete Aminet. Some smaller sites
- only have got the latest uploads to Aminet. Wuarchive is a good choice,
- too. And there is another good site called ftp.netnet.com or something
- like that. You could look at ftp.luth.se, too.
-
- Used abbreviations :
-
- Minimum/Recommended System
-
- All = All Amigas with 1 MB chip at least
- 020 = All Amigas with 68020 at least
- AGA = All Amigas with AGA
- 030 = All Amigas with '030 at least
- 040 = All Amigas with '040 at least
- 060 = All Amigas with '060 at least (Joke! :))) )
- FPU = All Amigas with FPU at least
- EGS = All Amigas with EGS graphics boards
-
- Engine style
-
- Low = Engine worse than Wolfenstein,
- Wolf = Wolfenstein-style engine
- :) = A little Better than Wolfenstein, worse than DOOM
- :):) = MUCH better than :), but not DOOM ...
- DOOM = DOOM-style engine
- Bey = Engine BEYOND DOOM
-
- Smoothness
-
- VSm = Graphics very Smooth
- Smo = Graphics smooth
- NSm = Graphics nearly smooth
- Not = Not very smooth graphics
-
- Pixel resolution
-
- Cop = Probably copper chunky or some other copper cheat, maybe i am
- wrong. In special CopL says low pixel resolution, CopM medium
- and CopH says high resolution (but i think it is impossible
- of doing a copper display with a pixel resolution you could call
- HIGH). CopM probably is worse than Med. I used the CopL-CopM
- abbreviations only to have SOME METHOD to differentiate
- between different kinds of copper displays.
- Low = Low resolution (probably something around 2x2 or worse...)
- Med = Medium resolution (probably something around 2x1 or 1x2 ...)
- High = High resolution (probably 1x1 ...)
-
- Coded by
-
- (P) = Single Person
- (G) = Demo group
- (PO) = listed person is one of those doing the thing... but there are
- others...
- (SF) = Software firm
-
- All speed remarks are relative to my own system (hehehe...), an A4000/040
- with 14 MB RAM and a Piccolo SD64 graphics board (not the standard Amiga,
- isn't it ?) If you have an Amiga 1200 without accelator and did some tests
- you may wish to mail your results to me ...
-
- I have to remark too, that the comments are NOT objective... i like some
- demos and games, and do not like others... no one should take it as an
- insult, if i give his favourite demo a bad mark... it is only a try done
- by me... if you think the other way round, tell me... maybe you can
- convince me to change the FAQ as to one specific demo :))) I chose to be
- STRICT in the remarks i had to do ... in order to show the differences
- between the tested engines ... but of course i know how much work it is
- even to do a texturemapping demo in LOW resolution with a TM-Engine that
- suxx...
-
- Sometimes i wrote something like Low/Wolf... then i did not want to say
- Low, and not Wolf... again... everything very subjective ...
-
- Ah... about that "recommended system" things... Just guesses...
-
- Nearly all of the demos are on Aminet and for most of the demos
- you will find in the FAQ in which directory. Most of the demos
- also are (for the Germans reading this FAQ) available on the
- Birdland BBS (number found at the end of this FAQ).
-
- 1. Demos
-
- Only Demos with texturemapping parts that could be used in games are
- mentioned... no textured spheres, cubes and such things... all things
- mentioned in the chapter "Demos" will probably never get games ...
-
- ************************************************************************
-
- Mindflow Stellar (G) AGA (4 MB RAM) AGA (4 MB RAM)
- :) NSmo Med
-
- One of the effects of this demo is a dungeon that looks nearly like the
- dungeons of the game Ambermoon. The textures of the ceiling and floor
- are MUCH better than in Ambermoon, but Ambermoon is smoother ...
-
- Author : Stellar (One email of a Stellar-Member is
- jsaarinen@kone.fipnet.fi, this is Nose/Stellar)
- File : /pub/aminet/demo/aga/mindflow.lha
-
- ************************************************************************
-
- Motion Bomb (G) AGA AGA
- DOOM Not/NSm Med
-
- One of the effects of this demo is a FULL texturemapped DOOM engine with
- stairs and all. Bravo, Bomb !!! You should do a game out of this :)))
- This demo did not run on my A4000/040, but i did get a patch from some-
- one... i do not think this patch is on Aminet, though ... one last word
- to the engine... there are stairs and all included, but the Speed i think
- is not that sufficent for a game ... okay for a demo though...
-
- Author : Gengis/Bomb
- File : /pub/aminet/demo/par94/MotionDisk1.dms
- /pub/aminet/demo/par94/MotionDisk2.dms
-
- ************************************************************************
-
- Doomed Pearl (G) All All
- Low VSm CopL
-
- A demo where you can use the joystick to wander around... but i decided
- not to do it to the Game-Demos, because the only intention to do this one
- was, to prove it is possible of getting 50 fps on a plain A500. Someone
- of Pearl tried to enhance the engine, but as this did not work, the demo
- died. Talking about resolutions, there are copper chunky demos with
- better resolution.
-
- Author : Netrunner/Pearl (9308938m@lux.levels.unisa.edu.au)
- File : /pub/aminet/demo/euro/Pearl.Doomed.lha
-
- ************************************************************************
-
- Phobos Cydonia (G) All (???) All (???)
- Low Smo CopL
-
- One of the earlier approaches to Amiga texture mapping. It has no floor
- textures and turning around does not look like it SHOULD... but asides
- from that the speed is impressive. You can use your joystick to walk the
- dungeon, in contrary to most not-game demos. The resolution is weak.
-
- Author : ???
- File : ???
-
- ************************************************************************
-
- Fullmoon Fairlight (G) AGA AGA
- Low NSm/Not Low
-
- Even if Fullmoon is a very nice demo, the texturemapping part is not very
- well done. The scrolling is not smooth, there are no floor and ceiling
- textures and the resolution is low. The not texturemapping related parts
- of the demo are nevertheless great !
-
- Author : ???
- File : ???
-
- *************************************************************************
-
- HOI-SAGAIII TEAM HOI (G) AGA AGA
- Low NSm/Smo Low
-
- The texturemapping part of the demo has no ceiling textures, and the floor
- textures are not very well done. The speed is better than that of most
- such "little hacks", but there are better texturemapping demos than this
- one. Aside from this flaw, HOI-SAGA III is (looked upen on it as demo in
- common) okay.
-
- Author : Teamhoi@SterrBBS.nl (or was it TeamHoi@SterBBS.nl ???)
- File : ???
-
- *************************************************************************
-
- 2. Game-Demos
-
- Game-Demos are Demos that are probably on their best way of getting games.
- Some of them actually will get Games, some not ...
-
- *************************************************************************
-
- Warp_S O. Groth (PO) 020+HD AGA + Fast Ram
- :):) Smo/Vsm Low/Med
-
- Really a nice engine, the only DOOM style engine on Amiga with monsters
- running around. This one will be a game 100%. Playable demo will be out
- maybe February or March. The resolution and graphics are not the best at
- the moment, but the next Demo out will (according to the beta i saw) be
- much better. They got a new graphician, who is very good (i know this
- one :))) ). Maybe the most promising demo of them all. It will get a
- graphics board version, too, and an extra version that is '040-optimized
- (higher resolution !!!) was promised sometimes... Was in the beginning
- called Texmapp... The release version probably will be faster than the
- demo. Uses not only 90 degree walls. Decompresses monster GFX in real
- time.
-
- Author : O.Groth@link-M.muc.de
- File : ???
-
- *************************************************************************
-
- POOM Parallax (G) AGA 030+AGA
- :):) Smo High
-
- Maybe the most famous Amiga texturemapping demo. But it got very quiet
- around it since October '94. Maybe they dropped it? Or maybe they will
- bring out a complete game from one day to the other? There is a V0.3 on a
- finnish BBS ... the coders did some talk about a "maybe" graphics
- board version. POOM0.2 only has rectangular walls. The phone number of
- the Finnish BBS is +358 18 161 763. If you are from Finnland and want to
- be nice, maybe you could send me a copy ??? Per EMail, for example ???
- POOM0.2 is on Aminet ... As to V0.3 Beta, it is much smoother, you can
- select a resolution from 32x32 up to 320x256 (the latter did not work
- on my system, though...), you see the gun and there are some new
- textures (a complete floor texture too...). As soon as you quit the
- Beta, it crashes. The Beta does not run with 2 MB. Someone said,
- the guys of Parallax would be working on something else at the moment,
- so the next release of POOM would be some time away.
-
- Author : ???
- File : ???
-
- *************************************************************************
-
- BSP John Fehr (P) All 040
- DOOM Not Low/Med
-
- This Demo reads an original DOOM-Wad-File and tries to interpret it. This
- is SLOW, because WAD-Files were made for the PC, not for the Amiga ...
- they are Intel-optimized... the WAD-interpreter BSP has no ceiling or
- floor, but many features (because of the WAD ...) As it is No-Aga and
- not very smooth, i do not think it is more interesting than for example
- POOM or Warp_S. But it was probably VERY MUCH work to make this thing
- reading .wad-Files ... and those multiple textures things probably cost
- a lot of speed too... there are AGA versions in the archive too... they
- too do not have floor and ceiling, but look better than the
- ECS-version ... I was told, it seems, John Fehr now is doing something
- further with his engine, but as to now i have no conformation from
- himself (so, what about, this, John, if you read this FAQ ? :) )
-
- Author : fehr@rpm2.aes.mb.doe.ca
- File : /pub/aminet/gfx/misc/bsp1.0.lha
-
- *************************************************************************
-
- Tmapdemo C. Green (P) AGA AGA
- ??? NSm High
-
- This demo comes with complete source... the author allowed doing a game
- with his routine (he probably won't do himself ...) The engine is quite
- cool, but very incomplete... just some blocks with Pics on the walls...
- no collision check... but a floor...
-
- Author : chrisg@commodore.COM (this email of course does not work ...)
- File : ??? (with source)
-
- *************************************************************************
-
- Tmapdemo S. Boberg (P) EGS EGS + EGS board
- ??? VSmo High
-
- A Port of Chris Green's texturemapping engine to EGS... according to the
- author a quick hack... probably won't get any further...
-
- Author : ???
- File : ???
-
- *************************************************************************
-
- Dentaku26 A.J.Amsel (PO) AGA/CD32 AGA/CD32
- Wolf VSm CopL/CopM
-
- Dentaku will be a Wolfenstein/DOOM-style game (probably with level editor
- and serial device support). A.J.Amsel said to me, a demo will probably be
- released in April 1995. An older demo (executable from September) is
- available on ftp.luth.se. According to the mail information A.J.Amsel gave
- me, he and the others formed now a software company which is called
- Silltunna Software. They are two Coders (one of them A.J. Amsel), one artist
- and Alistair Brimble doing the sound. The game uses a copper display for its
- texture mapping routine. If you are a coder, an artist or a sound
- specialist, you may wish to contact Mr. Amsel. Maybe you could join them
- in there project (Mail to A.J.Amsel@exeter.ac.uk). A former Demo of
- Dentaku was DentAWolf, but it has not much to do with Dentaku as
- it is now. The ratings for DentAWolf are Low/Wolf,VSmo,Low.
- The version of Dentaku found at ftp.luth.se is only optimized for
- low end machines (but in my opinion it is good enough on high
- end machines... maybe there is even room for an improvement of
- the engine :))) And the engine does >20 fps on low end machines
- too...)
-
- Author : A.J.Amsel@exeter.ac.uk
- File : /pub/aminet/demo/aga/dentwolf.lha (DentAWolf...)
- ftp.luth.se/pub/aminet/demo/aga/dentects.lha (Sept. Executable
- of Dentaku26 ...)
-
- *************************************************************************
-
-
- ChunkyMaze D. Bryson (P) AGA AGA
- Wolf VSmo Med
-
- A little dungeon with flickering torches and some pictures pinned to the
- wall. It has no floor or ceiling textures and in some distance the
- textures do not look nice. But there are worse tries. This project is
- (even if there are better approaches) still alive, but as David Bryson
- told me, the problem is the TIME. Anybody willing to help him, should
- contact him per email. He did not do anything further by himself, but
- Lee Metcalfe did some very nice graphics for the demo, and Paul Heams
- coded a little further. David would like it, if someone with LOTS of time
- picked this demo up. He would help this one with the source, of course.
- I found a very similar demo on my harddisk (even the same textures...)
- which is called wolf. I think it is an earlier or later version of
- ChunkyMaze, but i do not have the docs.
-
- Author : ceedb@cee.hw.ac.uk
- File : /pub/aminet/gfx/aga/maze.lha
-
- *************************************************************************
-
- TextDemo5 J. Hendricks(P) 020 030
- :) VSmo Med
-
- In Fullscreen probably the fastest engine on Amiga (okay, POOM has floor
- and ceiling textures and is not much slower...). Textdemo has Lightsources,
- not-rectangular walls and the resolution and screen size can be
- customized. The demo has OCS, ECS and AGA versions. It uses some very
- tricky Chunky2Planar code (using even the blitter...). There is a
- TextDemo6 in work, and as i was told this one will probably be one of the
- best texturemapping demos on Amiga.
-
- Author : john.hendrikx@grafix.xs4all.nl
- File : /pub/aminet/gfx/misc/TextDemo5.lha
-
- *************************************************************************
-
- TextDemo6 J. Hendricks(P) ??? ???
- ??? ??? ???
-
- A long time, there was nothing new about Textdemo, but appearently, there
- will be a release this or next week. This release will be TextDemo5.7,
- which is near the features TextDemo6 will have. Since quite a time there
- are Beta Versions of this ones floating around (that is : to people
- that are working at the project with John) and i was told, the engine
- would be "virtually playable" on a 50 MHz '030 with 320x256 and 1x1
- pixels.
-
- Some expected features :
-
- - Realtime movement
- - 128x128 textures (looks MUCH better according to John)
- - Multiple height walls :)))
- - Floor textures
- - "Bouncing movement"
- - Object-mapping-code for monsters included
- - Textures take 24 Bit as original (so port to graphics board version
- would be easy)
-
- I did not see TextDemo5.7 up to now, but this sounds WELL :)))
-
- Asides from Johns Mail i got info from Mike Bromery (davereed@wam.umd.edu),
- who told me, that John would have joined with David Bryson and he himself
- and Tomwoof would have joined too. Mike worked with Jason Freund before,
- and after Rot3D died, he tried to work with Jason Doig of Dogenstien3D.
- But it seems, Jason Doig lost his internet account, and so Mike got to
- John Hendricks. Mike said, there probably would come two projects out
- of this movement, but the next release still would be called TextDemo6.
-
- Release date of the demo will probably be the 12th or 13th February
- 1995.
-
- Author: John.Hendrikx@grafix.xs4all.nl
- File: Not yet available
-
- *************************************************************************
-
- Reality AGA UWDesign(G) ??? ???
- ??? ???
-
- This project is at present a Wolfenstein type engine that has up to now
- not made it to a public release. I got some infos about it :
-
- - Aimed for A1200 and CD 32
- - Static and moving objects
- - Solid and see through walls
- - Floor and ceiling textures (will be done later)
- - 1x1, 2x1, 1x2 and 2x2 pixel resolutions
- - walls at any angle and of any length
- - 64 colour GFX, maybe soon 128 or 256 colour GFX
- - external back drop pictures
- - simple multi height walls
- - graphics board version (will be done later)
- - ECS/OCS version (later, with some reduction)
- - 320x256 1x2 in 7-8 fps on A1200 with 4 MB Fast
- - 320x256 1x1 in 5-6 fps on A1200 with 4 MB Fast
-
- There will probably be a demo release in 2-3 weeks ...
-
- Author: ???
- File : Not yet available
-
- *************************************************************************
-
- Dogenstien3D J.D.Doig (P) AGA AGA
- Low/Wolf VSmo Low
-
- Texturemapping engine where you can see the gun while walking around. As
- to the graphics, most other engines are better. I don't think this one is
- still around. The first version was called Dog3D.
-
- Author : jasond@cee.hw.ac.uk (it seems, that this is no longer valid)
- File : /pub/aminet/gfx/misc (if it is still there ...)
-
- *************************************************************************
-
- Wolf23_ish Chris Colman(P) AGA AGA
- Low VSmo Low
-
- A "first try" texturemapping demo. In the Readme the author writes he will
- make this one better. It is NO copper chunky. But "as is" it is not very
- good. An older version was wolf2.lha. Maybe another demo i found
- somewhere (but lost the readme...) is an older or newer version of this
- demo (it is quite similar). It is called wolf10. But maybe it is only a
- similar demo from another author.
-
- Author : cpc16@cus.cam.ac.uk (this account is no longer valid ...)
- File : /pub/aminet/gfx/misc/wolf3.lha
- (wolf10 is /pub/aminet/gfx/misc/wolf.lha)
-
- *************************************************************************
-
- Wolf3D T. Russell (P) All All
- Low NSm Low
-
- Another "first try" demo. I do not know anything about what got with it
- after this release.
-
- Author : russell@cpsc.ucalgary.ca
- File : /pub/aminet/dev/src/Wolf3D-2.lha (with source)
-
- *************************************************************************
-
- Rot3D J. Freund (PO) FPU+1.5 MB FPU+1.5 MB
- Wolf VSmo Med/High
-
- One of the first, if not THE first texturemapping engine on Amiga
- (now in its latest version). The wood textures of the demo look quite
- well, as do the stone textures, but there are no floor or ceiling
- textures and POOM, TextDemo5 and Warp_S are better. If no one picks this
- one up, it will die. The authors said they would help a potential
- "up-picker".
-
- Author : freund@cis.uab.edu
- File : ??? (Source also available on Aminet)
-
- *************************************************************************
-
- 3. Games
-
- *************************************************************************
-
- TrickOrTreat D. Stuart (P) All All
- Wolf Smo Low
-
- Little texturemapping game, where two players try to shoot each other. The
- graphics is not the best and there is no floor or ceiling texture, but it is
- the first texture mapping action game on Amiga (yes, it is this one, NOT
- Fears !!!) Even if the graphics is not comparable to Wolfenstein, the game
- is a lot of FUN. The author wrote he was looking for some work in coding the
- Amiga.
-
- Author : ???
- File : Amiga User International 11/94 (Coverdisk 45)
- Or : Duncan Stuart,10, Bramble Close, The Beeches, Uppingham, Rutland, LE15 9PH
-
- *************************************************************************
-
- Fears BOMB (G) AGA AGA
- Low/Wolf VSmo Low/Med
-
- This is a Wolfenstein clone for Amiga. The walls are better than nothing,
- the floor textures nearly nothing, the monsters do slide instead of walk,
- but it is a COMPLETE GAME. It is shareware. There is even sound while
- playing. And it is really FAST.
-
- Author : Gengis/Bomb
- File : ???
-
- *************************************************************************
-
- Ambermoon Thalion (SF) All 030
- :) VSmo Med
-
- Ambermoon (do i have to explain this ?) is probably the best fantasy RPG on
- Amiga. Using a cool texturemapping routine. Okay, the monsters of Ultima
- Underworld on PC are better, but what do you want? This one is LoRes, 32
- colors !!! One minute of silence for Thalion... may they rest in peace...
- OR be back and do something like that in AGA ??? :))) But sure, that won't
- happen... and the programmers for Ambermoon are now at Blue Byte, doing
- Ambermoon's sequel Albion for PC only... BLUE BYTE SUXXXXXXXXXXXXXXX!!!
- Ambermoon is a commercial game.
-
- *************************************************************************
-
- Legend of valour ??? All ???
- Wolf(???) ??? Low (???)
-
- Legend of Valour is a texturemapping fantasy RPG on Amiga. It is a
- commercial game. I do not own it and only saw it once, so i can't say much
- about this one. But it is not such BIG stuff like Ambermoon.
-
- *************************************************************************
-
- A last remark for this chapter : The game DeathMask is no real
- texturemapping. It is a block graphics game which scrolls around while you
- turn 90 degrees. Better play Hired Guns ...
-
- *************************************************************************
-
- III. Rumours and other infos department
-
- 1. Maybe DSA 2 (a texturemapping RPG with a really cool engine already
- released on PC) will come to the Amiga, maybe not. I heard rumours about
- a spring release (and my software dealer said there would be a good
- chance for this one to be ported). I do not know if it is AGA, but i
- think, if they do it, it will be AGA ...
- 2. Team 17 is currently doing Alien Breed 3D, a DOOM clone. They will
- use copper chunky (see above), and full texturemapping (stairs,
- different levels of sight and all ...) They even said something about
- cool water effects in the game. Since December they said they will
- release a demo soon... but as far as now, this demo is not released.
- 3. There are rumours about ACID Software doing a clone.
- 4. Some guy on the net wrote there would be a clone from some polnish scene
- member. He could not remember the name, though, and i do not know, if
- this guy is reliable.
- 5. According to Amiga Report 233, AGE Entertainment is working at a
- scrolling dungeon game. The game should come out as "Paranoia" and the
- project began quite a time ago. According to the article in the meanwhile
- the programmers think of the Amiga as a dead platform (the programmers of
- Paranoia, not AGE Entertainment !!!), and even if they wanted to finish
- the ECS version of the game, they wouldn't do the AGA version and the
- CD 32 version that were planned at the beginning. Nor would they do the
- planned sequels to the game.
- 6. Some time ago a group looked for coders for porting the game BOOM that
- they were doing for the Atari Falcon to the PC and Amiga. I do not know,
- if they found any Amiga programmers for doing the port. The game should
- be in three parts, and one of the three parts would be a DOOM style
- action game. I heard, it would be near finished (or finished...) for
- PC ... (EMail : rrfriede@cip.informatik.uni-erlangen.de)
- 7. In the latest add from my software dealer there were announced some games
- for Amiga AND PC that use texture mapping. These games are Body Count,
- The castle of Dr. Radiak and the sequel of Elder Scrolls, Daggerfall.
- I do not know, if this is an error or what (as i never heard anything
- about it before ... and usually such things do not go unnoticed...) And
- some of these releases were marked as CD and there was NOTHING written
- about CD 32 ... this looks strange... but maybe at least ONE is TRUE
- (if so, i hope it is Daggerfall :))) ).
-
- IV. Doing Texturemapping with Emulators
-
- 1. Hardware-Emulators
-
- Hardware-Emulators, that is ... putting INTEL-PROCESSORS in your poor little
- Amiga. You want to do THIS ? Oh, than you are running PC games, not Amiga
- ones... therefore i do not write ANYTHING about it in my FAQ. Because this
- is nearly no emulation anymore... it is ... gaming on PC ... there are
- quite well emulators of this style called "GoldenGate".
-
- 2. Software-Emulators
-
- There are some software PC emulators, but for games like DOOM they are not
- useful. They are slow and only emulate a 8088 or 80286. DOOM needs a
- 80386 AT LEAST to run. Maybe on PC Task 3.0 Wolfenstein will run. But the
- speed (espescially the speed of the graphics) surely is a problem. Maybe
- with a graphics board, but probably even this is too slow. So ... wait for
- PC Emplant's CPU transcription mode (this one will not be included in the
- first version of the emulation software, it will come as a free update
- later ...)
-
- Second ... Mac emulation with software... there are two emulators...
- AMaxIV and Emplant... as i heard AMaxIV does not run on AGA ... and it uses
- tricks to be able running with a 128KB ROM ... i doubt games running on
- this one, but maybe i am wrong...
-
- On Emplant (which i own myself) i tested four texturemapping games for Mac :
- The demoversions of these games (which i tried...) are on ftp.hawaii.edu
- in /pub/mac/info-mac/game/com. You will need StuffItExpander to decrunch
- them.
-
- Wolfenstein : Runs on my A4000/040 with reasonable speed (even if i do not
- use the graphics board ... with PAL Hires AGA ...), but only with the
- smallest screen. Not very well coded, as it is not very smooth on the
- graphics board either... (okay, with 320x256 it is something near
- smooth ...)
-
- Sensory Overload : Wolfenstein Clone, but i do not like the graphics...
- okay, the screen is bigger than most of these demos for Amiga... but the
- graphics is not much better... i think worse... Sensory Overload does not
- run well without a graphics board.
-
- Pathways into Darkness : Wolfenstein clone from Bungie (Bungie1@aol.com),
- i think the graphics is better than Wolfenstein, but Wolfenstein has a
- background music and PID don't ... it is slow, but in LoRes playable
- without graphics board... not much faster with graphics board, though ...
-
- Marathon : The absolute Mega-Game ... rating, if we do it as with the Amiga
- demos above : BEY !!! (Yes, this one is MUCH better than DOOM ...) If you
- are doing EVERYTHING to play DOOM on Amiga, take this one, take the smallest
- screen size, no music, select that the game only displays every second
- line... and run it on at least a 4000/030. But do not show it to your PC
- friends, they will LAUGH at you, if you do not own a graphics board...
- (i did, before i got mine :((( ) On a graphics board, Marathon is FANTASTIC,
- better speed than Amiga graphics demos, maybe even better than DOOM on PC
- (remember, Marathon is 640x480 ...) I use a resolution of probably 400x300
- in Lores, and it is absolute smooth on the SD 64 ... Marathon is the sequel
- to Pathways into Darkness.
-
- One Last : It is rumoured, at 15th April, DOOM II will be released for
- Mac... 68040 and PowerMac, to be exact...
-
- V. Algorithms
-
- In this chapter i will put algorithms or coding hints sent to me.
- Please do not send code (this would be MUCH to specific for this
- FAQ).
-
- 1. Terence Russells algorithms used in Wolf3D-2.lha
-
- Basic structures and algorithms used to create the Amiga Wolf3D demo.
-
- The techniques I have used do not involve ray-casting for the rendering
- or BSP trees for hidden object removal. Instead my style of rendering
- has more in common with flat-shaded polygon rendering used in many
- older demos.
-
- Sorry for the crappy organization. I'm a fourth year computer science
- student and I haven't much time to do this properly.
-
- The Maze and basic objects:
-
- The maze is essentially two dimensional and if looked at from above it
- would appear to be a grid whose squares are outlined with walls or are
- bisected with doors.
-
- Each square from above is 64 x 64 pixels in dimension. I use pixels as a
- unit of measurement since in fact each point is represented by a pixel
- column in a bitmap.
-
- The use of the grid analogy is purely conceptual, however, since using a
- grid structure would create some complications (which are described under
- 'collision detection' and 'door movement'). For purposes of discussion I
- will refer to the X and Y axis' as being the east-west and north-south
- axis' (respectively) of the grid from an above view. The Z axis will
- refer to the axis that comes up out of the grid. (This runs contrary to
- how I actually programmed the demo as the Y and Z axis are swapped).
-
- Walls and doors are represented by the same basic unit: the block.
- A 'block' is from a structural standpoint the canvas onto which wall and
- door imagery is 'painted' or 'mapped'. Every wall and every door in
- the maze is associated with a block. In fact a block may consist of
- up to 4 walls that represent the 'north', 'west', 'south', and 'east'
- faces of the block.
-
- From a programming view a block consists of 256 points plus a center
- point. The center point positions the block relative to the bottom-left
- corner (0,0,0) of the maze. The remaining 256 are divided into 4 groups
- of 64 points, each of which are associated with a particular block face.
- All 256 points are relative to the block's center point. (Hence,
- only one set of these points need be maintained for all blocks within a
- maze). As can be imagined the end-points for each face overlap.
-
- The walls points are given the following offset ranges:
-
- SOUTH: (-32,-32,0) to (31,-32,0)
- NORTH: (31,31,0) to (-32,31,0)
- EAST: (31,-32,0) to (31,31,0)
- WEST: (-32,31,0) to (-32,-32,0)
-
- Notice that for each face the ranges are given in an order which implies
- counter-clockwise as viewed from above the grid. This is important for
- properly rendering the wall graphics and for backface culling, that is,
- removing walls that are facing away from the observer/player.
-
- Each wall/door has an associated 64 x 64 pixel bitmap. Each 1 pixel wide
- column of the bitmap is represented by one of the points found along the
- wall/block face. Hence point 0 of the south wall of a block may represent
- the 0th column of a 'stone wall' bitmap. From the programmer's view I use
- the wall point's ordinal value (it's relative position) to offset/index
- into the bitmap image.
-
- Previously I mentioned that blocks are used for BOTH walls and doors.
- The attentive reader may have noticed that the offsets for the walls
- would create doors that are not located in the center of a block. Since
- my aim was to create a near Id wolf-clone I had to specify extra offsets
- just for the doors. These new offsets simply have either the X or Y
- component zeroed depending on which direction the door is to lie along.
- This allows the doors to appear in the center of a block. This also makes
- it easy to have sliding doors since all I really need to do is move the
- associated block's center point in the direction the door opens. The door
- then slides 'into' an adjacent wall block which takes care of hiding the
- door. (This is explained later in the next section).
-
- RENDERING - this is just a quick and dirty algorithm
-
- Translate the block centers by an amount equal to the players relative
- maze position. Now rotate these centers using the players attitude or
- angle of direction, also relative to the 0,0,0 point of the maze.
-
- Next rotate the 256 wall points using the same players direction angle.
- For each block center, translate a copy of the 256 wall points to the
- block center such that the block center is in the middle of the points.
-
- Now that we have a list of block points that are relative to the player's
- position we want to render the blocks. To determine what blocks are
- visible I simply sort them by there Y value, (which is now relative to
- the player's position). I used this method since at the time I did not
- know of the BSP tree method for determining visible polygons.
-
- Once we have a list of sorted blocks, we can immediately discard the
- blocks that fall behind the viewer. From this point we render each block
- until the player's view is completely filled with graphics.
-
- Since I don't want to draw all of the blocks that are in front of the user,
- (just the ones that fill up the view), I use a pre-render loop which
- determines what portions of walls/doors are visible.
-
- To determine what is visible I use the sorted list of blocks and an array
- called the xBuffer. This buffer is one dimensional and has an entry for
- every vertical column of the user's game display.
-
- The algorithm involves a lot of simple parts that when put together create
- a fairly complex program. Hence I will attempt explain it using two similar
- explanations.
-
- EXPLANATION 1:
-
- I use the following algorithm:
-
- clear the xBuffer
-
- while xBuffer is not full do
- get the block closest to the player
-
- for each face of the current block do
- if current face is invisible then
- skip face
- else "current face is visible"
-
- for each of the current face's 64 points do
- perform a perspective calculation on the point to
- get a screen X1,Y1 point.
-
- duplicate X1 into X2
- mirror Y1 across the center of the display to get Y2
-
- the line (X1,Y1)-(X2,Y2) forms a column of screen points
- onto which a column slice of the wall/door bitmap will
- be mapped/scaled.
-
- if X1 lies with in the range of the xBuffer
- (usually 0-319 for a full screen) then
- check xBuffer[X1].height to see if a column
- hasn't already been written there.
-
- IF height of current line > xBuffer[X1].height THEN
- xBuffer[X1] = current column and it's associated
- bitmap imagery.
- else
- discard this column as being invisible.
- endif
-
- "If all I did was insert just the columns into the
- xBuffer there would be gaps in-between the columns
- do to the perspective transformation, hence
- I need a little loop that makes a copy of the
- current column back to the previous column of the
- same wall."
-
- end-if
- end-for
- end-while
-
- For example suppose my maze viewing area is 320 pixels across the screen.
- Then the xBuffer has 320 elements. Each element is a structure that
- records: the half-height of the wall/door from the horizon or the equator
- of the viewing area; the bitmap identifier; the pixel column offset into
- the bitmap
-
- Now using the xBuffer I have a routine take each element and read a column
- of pixels from a bitmap and then stretch and clip the bitmap into the
- hidden rendering buffer.
-
- EXPLANATION 2:
-
- while not done do
- check closest wall/door's extents
- (i.e. the starting and ending X locations as project on the view)
-
- if the extents are outside the viewing area then
- discard the wall/door
- else
- for each of the 64 points/columns of the wall/door
- determine where the column is relative to the view area
- if the column lies in the view area then
- check the corresponding xBuffer element to see if
- something hasn't already been written there
- if empty then
- write the columns height and bitmap column offset
- and bitmap identifier to the xBuffer.
- else
- if current column's height is greater then
- write it
- else
- this part of the wall lies behind some other wall
- end
- end
- end
- end
- end
- end
-
- Starting with the closest block I check each face to determine if it is
- visible. Since the faces of the blocks are at angles of 90 and 180 degrees
- from each other, at most 2 faces will be visible at any one time.
-
- Once I determine a visible face I use the associated 64 points for that
- face to determine visible columns. To each point I add to the Z component
- an amount equal to have the height of a wall. Then I run the point
- through a simple perspective calculation and I now have a somewhat correct
- position for projecting the point onto the player's view.
-
- I next create a duplicate of the point and mirror it across the middle
- of the player's view. This gives me two points that represent a line or
- column of the wall's bitmap. Since each point of a face is uniquely
- associated with a column of pixels in a wall bitmap I can perform some
- sort of 'texture' mapping now. Only one thing remains, and that is to
- determine the next columns position. Since as you get closer to a wall
- the 64 points will be spread out over a greater viewing area, gaps will
- start to appear between the columns. These gaps are eliminated by copying
- a column up to the next column.
-
-
- Collision Detection:
-
- Some authors have suggested using a static grid to perform collision
- detection with walls. Generally this works very nicely, however, in the
- case of Id's Wolf3D there is a slight problem. Id's game supports moving
- walls (in other words the secret passage-ways). To perform collision
- detection on these moving walls while using the static grid meant that
- I would need to either create special case for checking when a wall was
- moving, or would have to create a special kind of block: i.e. a moving
- wall block. At the time I decided this was unsatisfactory so instead of
- using a grid I decided to use the block's center point and a bounding box
- around the player. Using this method, collision detection involves
- checking each block center to see if it lies within the players bounding
- box. This allows me to move blocks at will without worrying about special
- cases and is generally pretty quick.
-
- There are many more points to the algorithms I have used, and if you
- are interested in understanding them and want to learn a maze rendering
- technique that does not involves ray-casting then send some email.
-
- Terence Russell
- russell@cpsc.ucalgary.ca
-
-
- VI. The Amiga Texturemapping online conference
-
- 1. The invitation
-
- At 7th February (Tuesday) at 22.00 MESZ (16.00 EST or 15.00 Central US
- Daylight Saving Time) there will be a online conference on IRC about Amiga
- Texturemapping. The conference will be on a channel name #amitmap.
-
- Everyone who is interested in Amiga Texturemapping is invited. The talk will
- be about the future of Amiga Texturemapping and as some programmers already
- announced they would be there probably some coding themes. Maybe there will
- be the possibility to find more people for an own project.
-
- 2. Some hints for people who do not use IRC often
-
- IRC is the online chat system of the internet. Try out the command irc on
- your site. If this does not work, contact your system administrator and try
- to convince him to install an irc server :))).
-
- As you entered irc, you specify your nick name (the name under which you
- will be known), with /nick Nick-Name. An alternative is starting irc with
- irc Nick-Name. To enter a channel (a channel is a place for people
- discussing a specific theme to meet), you type /join channelname.
- Each channelname starts with a #.
-
- To send someone a private message (that other can't read) you type /msg
- Nick-Name "...", where Nick-Name is the Nick-Name of the user, to whom you
- will send the message. To send a message to all users in this channel,
- simply type what you want to say. Usually you should write it in the
- following way : Name of the user for whom this message is
- primarily : Text.
-
- /who * lists all users currently on this channel.
-
- /list * counts the users on this channel.
-
- With /quit you quit irc.
-
- That are only the basics for irc, but with that knowledge you can be with
- us at the conference :))). Irc also has a help-system installed,
- by the way.
-
- VII. What can YOU do to support this FAQ ?
-
- 1. Support Amiga
- 2. Write texturemapping demos/games on Amiga :)))
- 3. Buy Amiga texturemapping games, if they come to a release
- 4. If you know of any texturemapping game/demo not mentioned in this FAQ
- (dungeon-related, no texturemapped cubes and spheres),
- or if you have information relevant for me, mail to
- - haeuser@minnie.informatik.uni-stuttgart.de
- OR
- - call Germany 07021/861920 or 862428 or 862429 (Birdland BBS,
- i am Magic SN on this BBS ...)
- OR
- - Phone Germany 07021/51787 and ask for Steffen
- OR
- - go in irc and look for MagicSN (that's me :))) )
- OR
- - write a letter to Steffen P. Haeuser, Limburgstr.127,
- 73265 Dettingen/Teck,Germany
- OR
- - Do whatever you want ... :)
-
- 5. Do the same, if you want to send me critics or beta-releases of demos
- to test them :)))))))))))))))) (at least i tried it... maybe someone
- would be in FACT that nice :))) )
- My internet-account is able to handle BIG UUEncoded mail... :))))))))
- 6. Spread this FAQ on all nets and BBS's.
- 7. If you are a coder, and you have a lack of time to code, or you have
- a serious problem in coding texture mapping, maybe you find some
- interesting EMail-Adresses all over this FAQ ...
- 8. Send me texturemapping algorithms you see no need anymore in
- keeping them private (for this new chapter V)
-
- That's it... as soon, as i hear news about some of the mentioned demos
- (or of some new ones ...) i will do a later version of this FAQ. It will be
- found in comp.sys.amiga.games at least... maybe soon there will be a later
- version of Warp_S or POOM or TextDemo or DentAWolf or... or ...
-
- ciao,
-
- Steffen Haeuser
- OR MagicSN (in irc)
- OR haeuser@tick.informatik.uni-stuttgart.de (E-Mail, talk ...)
-